The present invention relates generally to configuring programmable logic devices, such as field programmable gate arrays, and more particularly to allowing a developer to program a unique ID onto the programmable logic device.
Field programmable gate array devices are logic or mixed signal devices that may be configured to provide a user-defined function. Modern FPGAs contain hundreds of thousands of logic gates, as well as processors, memories, dedicated analog function blocks, and other circuits. Thus, these FPGAs can be a valuable commodity that a manufacturer, distributor or the like may want to track. The tracking may be for the purpose of internal supply chain management, but it may also be for more intensive tracking after it has left the hands of the manufacturer.
For example, a developer, vendor, systems integrator or the like, who utilizes and/or programs a circuit, may not want the FPGA to be used in a competitor's device or sold to a competitor. If this does happen, the vendor may want to find out who the FPGA was originally sold as this original buyer may be in violation of certain contractual or other obligations.
Integrated circuits with some identifying ID, such as an radio frequency ID, are available. This ID may be stored in a user-programmable non-volatile one-time-programmable memory. This allows FPGA user to program their own ID on to the part. However, there is no mechanism which prevents someone else from repeating that same Serial ID on another part or circuit. Thus, this circuit cannot be adequately traced. A unique ID could be installed by a manufacturer, but this could be problematic, for example, when the end user (vendor) needs to program their own unique ID.
Therefore, it is desirable to provided circuits, apparatus, and methods for providing a unique unit ID tag that cannot be easily replicated to another device.